home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / kcl / akcl / kcl.lha / cmpnew / cmpblock.c < prev    next >
C/C++ Source or Header  |  1987-06-04  |  16KB  |  639 lines

  1.  
  2. /* (C) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved. */
  3. #include <cmpinclude.h>
  4. #include "cmpblock.h"
  5. init_cmpblock(start,size,data)char *start;int size;object data;
  6. {    register object *base=vs_top;register object *sup=base+VM2;vs_check;
  7.     Cstart=start;Csize=size;Cdata=data;set_VV(VV,VM1,data);
  8.     (void)(putprop(VV[0],VV[1],VV[2]));
  9.     (void)(putprop(VV[0],VV[3],VV[4]));
  10.     (void)(putprop(VV[5],VV[6],VV[2]));
  11.     (void)(putprop(VV[5],VV[7],VV[4]));
  12.     (void)(putprop(VV[8],VV[9],VV[10]));
  13.     (void)(putprop(VV[8],Ct,VV[11]));
  14.     (void)(putprop(VV[8],VV[12],VV[13]));
  15.     (void)(putprop(VV[8],Cnil,VV[14]));
  16.     (void)(putprop(VV[8],Cnil,VV[15]));
  17.     (void)(putprop(VV[8],Cnil,VV[16]));
  18.     (void)(putprop(VV[8],Cnil,VV[17]));
  19.     MF(VV[18],L12,start,size,data);
  20.     (void)(putprop(VV[18],VV[19],VV[20]));
  21.     (void)(putprop(VV[18],VV[21],VV[22]));
  22.     (void)(remprop(VV[18],VV[23]));
  23.     (void)(remprop(VV[18],VV[24]));
  24.     (void)(putprop(VV[18],Cnil,VV[25]));
  25.     MF(VV[26],L19,start,size,data);
  26.     (void)(putprop(VV[26],VV[27],VV[20]));
  27.     (void)(putprop(VV[26],VV[28],VV[22]));
  28.     (void)(remprop(VV[26],VV[23]));
  29.     (void)(remprop(VV[26],VV[24]));
  30.     (void)(putprop(VV[26],Cnil,VV[25]));
  31.     MF(VV[29],L26,start,size,data);
  32.     (void)(putprop(VV[29],VV[30],VV[20]));
  33.     (void)(putprop(VV[29],VV[31],VV[22]));
  34.     (void)(remprop(VV[29],VV[23]));
  35.     (void)(remprop(VV[29],VV[24]));
  36.     (void)(putprop(VV[29],Cnil,VV[25]));
  37.     MF(VV[32],L33,start,size,data);
  38.     (void)(putprop(VV[32],VV[33],VV[20]));
  39.     (void)(putprop(VV[32],VV[34],VV[22]));
  40.     (void)(remprop(VV[32],VV[23]));
  41.     (void)(remprop(VV[32],VV[24]));
  42.     (void)(putprop(VV[32],Cnil,VV[25]));
  43.     MF(VV[35],L40,start,size,data);
  44.     (void)(putprop(VV[35],VV[36],VV[20]));
  45.     (void)(putprop(VV[35],VV[37],VV[22]));
  46.     (void)(remprop(VV[35],VV[23]));
  47.     (void)(remprop(VV[35],VV[24]));
  48.     (void)(putprop(VV[35],Cnil,VV[25]));
  49.     MF(VV[38],L47,start,size,data);
  50.     (void)(putprop(VV[38],VV[39],VV[20]));
  51.     (void)(putprop(VV[38],VV[40],VV[22]));
  52.     (void)(remprop(VV[38],VV[23]));
  53.     (void)(remprop(VV[38],VV[24]));
  54.     (void)(putprop(VV[38],Cnil,VV[25]));
  55.     MF(VV[41],L54,start,size,data);
  56.     (void)(putprop(VV[41],VV[42],VV[20]));
  57.     (void)(putprop(VV[41],VV[43],VV[22]));
  58.     (void)(remprop(VV[41],VV[23]));
  59.     (void)(remprop(VV[41],VV[24]));
  60.     (void)(putprop(VV[41],Cnil,VV[25]));
  61.     (void)(putprop(VV[8],VV[44],VV[45]));
  62.     MF(VV[71],L62,start,size,data);
  63.     (void)(putprop(VV[8],VV[46],VV[47]));
  64.     MF(VV[72],L64,start,size,data);
  65.     MF(VV[73],L65,start,size,data);
  66.     (void)(putprop(VV[8],Cnil,VV[48]));
  67.     VV[49]->s.s_stype=(short)stp_special;
  68.     if(VV[49]->s.s_dbind == OBJNULL){
  69.     VV[49]->s.s_dbind = Cnil;}
  70.     MF(VV[1],L68,start,size,data);
  71.     MF(VV[3],L69,start,size,data);
  72.     MF(VV[74],L70,start,size,data);
  73.     MF(VV[75],L71,start,size,data);
  74.     MF(VV[76],L72,start,size,data);
  75.     MF(VV[6],L73,start,size,data);
  76.     MF(VV[7],L74,start,size,data);
  77.     MF(VV[77],L75,start,size,data);
  78.     MF(VV[78],L76,start,size,data);
  79.     MF(VV[79],L77,start,size,data);
  80.     vs_top=vs_base=base;
  81. }
  82. /*    function definition for BLK-NAME    */
  83.  
  84. static L12()
  85. {    register object *base=vs_base;
  86.     register object *sup=base+VM3;
  87.     vs_reserve(VM3);
  88.     check_arg(1);
  89.     vs_top=sup;
  90. TTL:;
  91.     base[1]= structure_ref(base[0],VV[8],0);
  92.     vs_top=(vs_base=base+1)+1;
  93.     return;
  94. }
  95. /*    function definition for BLK-REF    */
  96.  
  97. static L19()
  98. {    register object *base=vs_base;
  99.     register object *sup=base+VM4;
  100.     vs_reserve(VM4);
  101.     check_arg(1);
  102.     vs_top=sup;
  103. TTL:;
  104.     base[1]= structure_ref(base[0],VV[8],1);
  105.     vs_top=(vs_base=base+1)+1;
  106.     return;
  107. }
  108. /*    function definition for BLK-REF-CLB    */
  109.  
  110. static L26()
  111. {    register object *base=vs_base;
  112.     register object *sup=base+VM5;
  113.     vs_reserve(VM5);
  114.     check_arg(1);
  115.     vs_top=sup;
  116. TTL:;
  117.     base[1]= structure_ref(base[0],VV[8],2);
  118.     vs_top=(vs_base=base+1)+1;
  119.     return;
  120. }
  121. /*    function definition for BLK-REF-CCB    */
  122.  
  123. static L33()
  124. {    register object *base=vs_base;
  125.     register object *sup=base+VM6;
  126.     vs_reserve(VM6);
  127.     check_arg(1);
  128.     vs_top=sup;
  129. TTL:;
  130.     base[1]= structure_ref(base[0],VV[8],3);
  131.     vs_top=(vs_base=base+1)+1;
  132.     return;
  133. }
  134. /*    function definition for BLK-EXIT    */
  135.  
  136. static L40()
  137. {    register object *base=vs_base;
  138.     register object *sup=base+VM7;
  139.     vs_reserve(VM7);
  140.     check_arg(1);
  141.     vs_top=sup;
  142. TTL:;
  143.     base[1]= structure_ref(base[0],VV[8],4);
  144.     vs_top=(vs_base=base+1)+1;
  145.     return;
  146. }
  147. /*    function definition for BLK-VALUE-TO-GO    */
  148.  
  149. static L47()
  150. {    register object *base=vs_base;
  151.     register object *sup=base+VM8;
  152.     vs_reserve(VM8);
  153.     check_arg(1);
  154.     vs_top=sup;
  155. TTL:;
  156.     base[1]= structure_ref(base[0],VV[8],5);
  157.     vs_top=(vs_base=base+1)+1;
  158.     return;
  159. }
  160. /*    function definition for BLK-VAR    */
  161.  
  162. static L54()
  163. {    register object *base=vs_base;
  164.     register object *sup=base+VM9;
  165.     vs_reserve(VM9);
  166.     check_arg(1);
  167.     vs_top=sup;
  168. TTL:;
  169.     base[1]= structure_ref(base[0],VV[8],6);
  170.     vs_top=(vs_base=base+1)+1;
  171.     return;
  172. }
  173. /*    function definition for MAKE-BLK    */
  174.  
  175. static L62()
  176. {    register object *base=vs_base;
  177.     register object *sup=base+VM10;
  178.     vs_reserve(VM10);
  179.     parse_key(vs_base,FALSE,FALSE,7,VV[53],VV[54],VV[56],VV[55],VV[80],VV[81],VV[82]);
  180.     vs_top=sup;
  181.     base[14]= VV[8];
  182.     base[15]= base[0];
  183.     base[16]= base[1];
  184.     base[17]= base[2];
  185.     base[18]= base[3];
  186.     base[19]= base[4];
  187.     base[20]= base[5];
  188.     base[21]= base[6];
  189.     vs_top=(vs_base=base+14)+8;
  190.     siLmake_structure();
  191.     return;
  192. }
  193. /*    function definition for COPY-BLK    */
  194.  
  195. static L64()
  196. {    register object *base=vs_base;
  197.     register object *sup=base+VM11;
  198.     vs_reserve(VM11);
  199.     check_arg(1);
  200.     vs_top=sup;
  201. TTL:;
  202.     base[1]= base[0];
  203.     base[2]= VV[8];
  204.     symlispcall_no_event(VV[83],base+1,2);
  205.     return;
  206. }
  207. /*    function definition for BLK-P    */
  208.  
  209. static L65()
  210. {    register object *base=vs_base;
  211.     register object *sup=base+VM12;
  212.     vs_reserve(VM12);
  213.     check_arg(1);
  214.     vs_top=sup;
  215. TTL:;
  216.     base[1]= base[0];
  217.     vs_top=(vs_base=base+1)+1;
  218.     siLstructurep();
  219.     vs_top=sup;
  220.     if((vs_base[0])!=Cnil){
  221.     goto T69;}
  222.     base[1]= Cnil;
  223.     vs_top=(vs_base=base+1)+1;
  224.     return;
  225. T69:;
  226.     base[2]= base[0];
  227.     vs_top=(vs_base=base+2)+1;
  228.     siLstructure_name();
  229.     vs_top=sup;
  230.     base[1]= vs_base[0];
  231. T75:;
  232.     if((base[1])!=Cnil){
  233.     goto T76;}
  234.     base[2]= Cnil;
  235.     vs_top=(vs_base=base+2)+1;
  236.     return;
  237. T76:;
  238.     if(!(base[1]==VV[8])){
  239.     goto T80;}
  240.     base[2]= Ct;
  241.     vs_top=(vs_base=base+2)+1;
  242.     return;
  243. T80:;
  244.     base[1]= get(base[1],VV[14],Cnil);
  245.     goto T75;
  246. }
  247. /*    function definition for C1BLOCK    */
  248.  
  249. static L68()
  250. {    register object *base=vs_base;
  251.     register object *sup=base+VM13;
  252.     vs_reserve(VM13);
  253.     bds_check;
  254.     check_arg(1);
  255.     vs_top=sup;
  256. TTL:;
  257.     if(!(endp(base[0]))){
  258.     goto T87;}
  259.     base[1]= VV[0];
  260.     base[2]= VV[50];
  261.     base[3]= VV[51];
  262.     (void)simple_symlispcall_no_event(VV[84],base+1,3);
  263. T87:;
  264.     if(type_of(car(base[0]))==t_symbol){
  265.     goto T93;}
  266.     base[1]= VV[52];
  267.     base[2]= car(base[0]);
  268.     (void)simple_symlispcall_no_event(VV[85],base+1,2);
  269. T93:;
  270.     base[2]= VV[53];
  271.     base[3]= car(base[0]);
  272.     base[4]= VV[54];
  273.     base[5]= Cnil;
  274.     base[6]= VV[55];
  275.     base[7]= Cnil;
  276.     base[8]= VV[56];
  277.     base[9]= Cnil;
  278.     vs_top=(vs_base=base+2)+8;
  279.     L62();
  280.     vs_top=sup;
  281.     base[1]= vs_base[0];
  282.     bds_bind(VV[49],make_cons(base[1],symbol_value(VV[49])));
  283.     base[4]= cdr(base[0]);
  284.     base[3]= simple_symlispcall_no_event(VV[86],base+4,1);
  285.     if((structure_ref(base[1],VV[8],3))!=Cnil){
  286.     goto T110;}
  287.     if((structure_ref(base[1],VV[8],2))!=Cnil){
  288.     goto T110;}
  289.     if((structure_ref(base[1],VV[8],1))==Cnil){
  290.     goto T111;}
  291. T110:;
  292.     base[5]= cadr(base[3]);
  293.     base[4]= simple_symlispcall_no_event(VV[87],base+5,1);
  294.     base[5]= list(4,VV[0],base[4],base[1],base[3]);
  295.     vs_top=(vs_base=base+5)+1;
  296.     bds_unwind1;
  297.     return;
  298. T111:;
  299.     vs_top=(vs_base=base+3)+1;
  300.     bds_unwind1;
  301.     return;
  302. }
  303. /*    function definition for C2BLOCK    */
  304.  
  305. static L69()
  306. {    register object *base=vs_base;
  307.     register object *sup=base+VM14;
  308.     vs_reserve(VM14);
  309.     check_arg(2);
  310.     vs_top=sup;
  311. TTL:;
  312.     if((structure_ref(base[0],VV[8],3))==Cnil){
  313.     goto T120;}
  314.     base[2]= base[0];
  315.     base[3]= base[1];
  316.     vs_top=(vs_base=base+2)+2;
  317.     L72();
  318.     return;
  319. T120:;
  320.     if((structure_ref(base[0],VV[8],2))==Cnil){
  321.     goto T125;}
  322.     base[2]= base[0];
  323.     base[3]= base[1];
  324.     vs_top=(vs_base=base+2)+2;
  325.     L71();
  326.     return;
  327. T125:;
  328.     base[2]= base[0];
  329.     base[3]= base[1];
  330.     vs_top=(vs_base=base+2)+2;
  331.     L70();
  332.     return;
  333. }
  334. /*    function definition for C2BLOCK-LOCAL    */
  335.  
  336. static L70()
  337. {    register object *base=vs_base;
  338.     register object *sup=base+VM15;
  339.     vs_reserve(VM15);
  340.     check_arg(2);
  341.     vs_top=sup;
  342. TTL:;
  343.     structure_set(base[0],VV[8],4,symbol_value(VV[57]));
  344.     structure_set(base[0],VV[8],5,symbol_value(VV[58]));
  345.     base[2]= base[1];
  346.     symlispcall_no_event(VV[88],base+2,1);
  347.     return;
  348. }
  349. /*    function definition for C2BLOCK-CLB    */
  350.  
  351. static L71()
  352. {    register object *base=vs_base;
  353.     register object *sup=base+VM16;
  354.     vs_reserve(VM16);
  355.     bds_check;
  356.     check_arg(2);
  357.     vs_top=sup;
  358. TTL:;
  359.     bds_bind(VV[59],symbol_value(VV[59]));
  360.     structure_set(base[0],VV[8],4,symbol_value(VV[57]));
  361.     structure_set(base[0],VV[8],5,symbol_value(VV[58]));
  362.     base[3]= simple_symlispcall_no_event(VV[89],base+4,0);
  363.     structure_set(base[0],VV[8],2,base[3]);
  364.     princ_str("\n    ",VV[60]);
  365.     base[3]= structure_ref(base[0],VV[8],2);
  366.     (void)simple_symlispcall_no_event(VV[90],base+3,1);
  367.     princ_str("=alloc_frame_id();",VV[60]);
  368.     princ_str("\n    frs_push(FRS_CATCH,",VV[60]);
  369.     base[3]= structure_ref(base[0],VV[8],2);
  370.     (void)simple_symlispcall_no_event(VV[90],base+3,1);
  371.     princ_str(");",VV[60]);
  372.     princ_str("\n    if(nlj_active)",VV[60]);
  373.     princ_str("\n    {nlj_active=FALSE;frs_pop();",VV[60]);
  374.     base[3]= VV[61];
  375.     base[4]= VV[62];
  376.     (void)simple_symlispcall_no_event(VV[91],base+3,2);
  377.     princ_char(125,VV[60]);
  378.     princ_str("\n    else{",VV[60]);
  379.     base[3]= make_cons(VV[64],symbol_value(VV[63]));
  380.     bds_bind(VV[63],base[3]);
  381.     base[4]= base[1];
  382.     base[5]= simple_symlispcall_no_event(VV[88],base+4,1);
  383.     bds_unwind1;
  384.     princ_str("\n    }",VV[60]);
  385.     base[3]= Cnil;
  386.     vs_top=(vs_base=base+3)+1;
  387.     bds_unwind1;
  388.     return;
  389. }
  390. /*    function definition for C2BLOCK-CCB    */
  391.  
  392. static L72()
  393. {    register object *base=vs_base;
  394.     register object *sup=base+VM17;
  395.     vs_reserve(VM17);
  396.     bds_check;
  397.     check_arg(2);
  398.     vs_top=sup;
  399. TTL:;
  400.     bds_bind(VV[59],symbol_value(VV[59]));
  401.     bds_bind(VV[65],symbol_value(VV[65]));
  402.     bds_bind(VV[66],symbol_value(VV[66]));
  403.     structure_set(base[0],VV[8],4,symbol_value(VV[57]));
  404.     structure_set(base[0],VV[8],5,symbol_value(VV[58]));
  405.     base[5]= simple_symlispcall_no_event(VV[89],base+6,0);
  406.     structure_set(base[0],VV[8],2,base[5]);
  407.     base[6]= structure_ref(base[0],VV[8],0);
  408.     base[5]= simple_symlispcall_no_event(VV[92],base+6,1);
  409.     structure_set(base[0],VV[8],6,base[5]);
  410.     princ_str("\n    ",VV[60]);
  411.     base[5]= structure_ref(base[0],VV[8],2);
  412.     (void)simple_symlispcall_no_event(VV[90],base+5,1);
  413.     princ_str("=alloc_frame_id();",VV[60]);
  414.     princ_str("\n    ",VV[60]);
  415.     base[5]= structure_ref(base[0],VV[8],2);
  416.     (void)simple_symlispcall_no_event(VV[90],base+5,1);
  417.     princ_str("=MMcons(",VV[60]);
  418.     base[5]= structure_ref(base[0],VV[8],2);
  419.     (void)simple_symlispcall_no_event(VV[90],base+5,1);
  420.     princ_char(44,VV[60]);
  421.     (void)simple_symlispcall_no_event(VV[93],base+5,0);
  422.     princ_str(");",VV[60]);
  423.     base[5]= structure_ref(base[0],VV[8],2);
  424.     (void)simple_symlispcall_no_event(VV[94],base+5,1);
  425.     base[5]= simple_symlispcall_no_event(VV[95],base+6,0);
  426.     structure_set(base[0],VV[8],3,base[5]);
  427.     princ_str("\n    frs_push(FRS_CATCH,",VV[60]);
  428.     base[5]= structure_ref(base[0],VV[8],2);
  429.     (void)simple_symlispcall_no_event(VV[96],base+5,1);
  430.     princ_str(");",VV[60]);
  431.     princ_str("\n    if(nlj_active)",VV[60]);
  432.     princ_str("\n    {nlj_active=FALSE;frs_pop();",VV[60]);
  433.     base[5]= VV[61];
  434.     base[6]= VV[62];
  435.     (void)simple_symlispcall_no_event(VV[91],base+5,2);
  436.     princ_char(125,VV[60]);
  437.     princ_str("\n    else{",VV[60]);
  438.     base[5]= make_cons(VV[64],symbol_value(VV[63]));
  439.     bds_bind(VV[63],base[5]);
  440.     base[6]= base[1];
  441.     base[7]= simple_symlispcall_no_event(VV[88],base+6,1);
  442.     bds_unwind1;
  443.     princ_str("\n    }",VV[60]);
  444.     base[5]= Cnil;
  445.     vs_top=(vs_base=base+5)+1;
  446.     bds_unwind1;
  447.     bds_unwind1;
  448.     bds_unwind1;
  449.     return;
  450. }
  451. /*    function definition for C1RETURN-FROM    */
  452.  
  453. static L73()
  454. {    register object *base=vs_base;
  455.     register object *sup=base+VM18;
  456.     vs_reserve(VM18);
  457.     check_arg(1);
  458.     vs_top=sup;
  459. TTL:;
  460.     if(!(endp(base[0]))){
  461.     goto T215;}
  462.     base[1]= VV[5];
  463.     base[2]= VV[50];
  464.     base[3]= VV[51];
  465.     (void)simple_symlispcall_no_event(VV[84],base+1,3);
  466.     goto T213;
  467. T215:;
  468.     if(endp(cdr(base[0]))){
  469.     goto T221;}
  470.     if(endp(cddr(base[0]))){
  471.     goto T221;}
  472.     base[1]= VV[5];
  473.     base[2]= VV[67];
  474.     base[3]= make_fixnum(length(base[0]));
  475.     (void)simple_symlispcall_no_event(VV[97],base+1,3);
  476.     goto T213;
  477. T221:;
  478.     if(type_of(car(base[0]))==t_symbol){
  479.     goto T213;}
  480. T213:;
  481.     {object V1;
  482.     object V2;
  483.     object V3;
  484.     base[1]= symbol_value(VV[49]);
  485.     V1= car(base[0]);
  486.     V2= Cnil;
  487.     V3= Cnil;
  488. T236:;
  489.     if(!(endp(base[1]))){
  490.     goto T237;}
  491.     base[2]= VV[69];
  492.     base[3]= (V1);
  493.     symlispcall_no_event(VV[85],base+2,2);
  494.     return;
  495. T237:;
  496.     {object V4= car(base[1]);
  497.     if((V4!= VV[98]))goto T244;
  498.     V2= Ct;
  499.     goto T243;
  500. T244:;
  501.     if((V4!= VV[99]))goto T246;
  502.     V3= Ct;
  503.     goto T243;
  504. T246:;
  505.     if(!(structure_ref(car(base[1]),VV[8],0)==(V1))){
  506.     goto T243;}
  507.     base[4]= cadr(base[0]);
  508.     base[2]= simple_symlispcall_no_event(VV[100],base+4,1);
  509.     base[3]= car(base[1]);
  510.     if(((V2))==Cnil){
  511.     goto T255;}
  512.     structure_set(base[3],VV[8],3,Ct);
  513.     goto T253;
  514. T255:;
  515.     if(((V3))==Cnil){
  516.     goto T258;}
  517.     structure_set(base[3],VV[8],2,Ct);
  518.     goto T253;
  519. T258:;
  520.     structure_set(base[3],VV[8],1,Ct);
  521. T253:;
  522.     base[5]= cadr(base[2]);
  523.     base[4]= simple_symlispcall_no_event(VV[87],base+5,1);
  524.     base[5]= list(6,VV[5],base[4],base[3],(V3),(V2),base[2]);
  525.     vs_top=(vs_base=base+5)+1;
  526.     return;}
  527. T243:;
  528.     base[1]= cdr(base[1]);
  529.     goto T236;}
  530. }
  531. /*    function definition for C2RETURN-FROM    */
  532.  
  533. static L74()
  534. {    register object *base=vs_base;
  535.     register object *sup=base+VM19;
  536.     vs_reserve(VM19);
  537.     check_arg(4);
  538.     vs_top=sup;
  539. TTL:;
  540.     if((base[2])==Cnil){
  541.     goto T266;}
  542.     base[4]= base[0];
  543.     base[5]= base[3];
  544.     vs_top=(vs_base=base+4)+2;
  545.     L77();
  546.     return;
  547. T266:;
  548.     if((base[1])==Cnil){
  549.     goto T271;}
  550.     base[4]= base[0];
  551.     base[5]= base[3];
  552.     vs_top=(vs_base=base+4)+2;
  553.     L76();
  554.     return;
  555. T271:;
  556.     base[4]= base[0];
  557.     base[5]= base[3];
  558.     vs_top=(vs_base=base+4)+2;
  559.     L75();
  560.     return;
  561. }
  562. /*    function definition for C2RETURN-LOCAL    */
  563.  
  564. static L75()
  565. {    register object *base=vs_base;
  566.     register object *sup=base+VM20;
  567.     vs_reserve(VM20);
  568.     bds_check;
  569.     check_arg(2);
  570.     vs_top=sup;
  571. TTL:;
  572.     base[2]= structure_ref(base[0],VV[8],5);
  573.     base[3]= structure_ref(base[0],VV[8],4);
  574.     bds_bind(VV[58],base[2]);
  575.     bds_bind(VV[57],base[3]);
  576.     base[4]= base[1];
  577.     symlispcall_no_event(VV[88],base+4,1);
  578.     bds_unwind1;
  579.     bds_unwind1;
  580.     return;
  581. }
  582. /*    function definition for C2RETURN-CLB    */
  583.  
  584. static L76()
  585. {    register object *base=vs_base;
  586.     register object *sup=base+VM21;
  587.     vs_reserve(VM21);
  588.     bds_check;
  589.     check_arg(2);
  590.     vs_top=sup;
  591. TTL:;
  592.     bds_bind(VV[58],VV[70]);
  593.     base[3]= base[1];
  594.     base[4]= simple_symlispcall_no_event(VV[101],base+3,1);
  595.     bds_unwind1;
  596.     princ_str("\n    unwind(frs_sch(",VV[60]);
  597.     if((structure_ref(base[0],VV[8],3))==Cnil){
  598.     goto T286;}
  599.     base[2]= structure_ref(base[0],VV[8],2);
  600.     (void)simple_symlispcall_no_event(VV[96],base+2,1);
  601.     goto T284;
  602. T286:;
  603.     base[2]= structure_ref(base[0],VV[8],2);
  604.     (void)simple_symlispcall_no_event(VV[90],base+2,1);
  605. T284:;
  606.     princ_str("),Cnil);",VV[60]);
  607.     base[2]= Cnil;
  608.     vs_top=(vs_base=base+2)+1;
  609.     return;
  610. }
  611. /*    function definition for C2RETURN-CCB    */
  612.  
  613. static L77()
  614. {    register object *base=vs_base;
  615.     register object *sup=base+VM22;
  616.     vs_reserve(VM22);
  617.     bds_check;
  618.     check_arg(2);
  619.     vs_top=sup;
  620. TTL:;
  621.     princ_str("\n    {frame_ptr fr;",VV[60]);
  622.     princ_str("\n    fr=frs_sch(",VV[60]);
  623.     base[2]= structure_ref(base[0],VV[8],3);
  624.     (void)simple_symlispcall_no_event(VV[102],base+2,1);
  625.     princ_str(");",VV[60]);
  626.     princ_str("\n    if(fr==NULL) FEerror(\"The block ~s is missing.\",1,VV[",VV[60]);
  627.     base[2]= structure_ref(base[0],VV[8],6);
  628.     (void)simple_symlispcall_no_event(VV[103],base+2,1);
  629.     princ_str("]);",VV[60]);
  630.     bds_bind(VV[58],VV[70]);
  631.     base[3]= base[1];
  632.     base[4]= simple_symlispcall_no_event(VV[101],base+3,1);
  633.     bds_unwind1;
  634.     princ_str("\n    unwind(fr,Cnil);}",VV[60]);
  635.     base[2]= Cnil;
  636.     vs_top=(vs_base=base+2)+1;
  637.     return;
  638. }
  639.